package cn.xzhang.boot.model.dto.wallpaperDetails;

import cn.xzhang.boot.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;


import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 壁纸分页请求
 *
 * @author <a href="https://github.com/XiaoZhangCode">XiaoZhangCode</a>
 */
@Data
@Schema(description = "壁纸分页请求")
@EqualsAndHashCode(callSuper = true)
public class WallpaperDetailsPageReqDTO extends PageParam implements Serializable {



    @Schema(description = "id")
    private Long id;



    @NotNull(message = "壁纸昵称不能为空")
    @Schema(description = "壁纸昵称",requiredMode = Schema.RequiredMode.REQUIRED)
    private String nickname;


    @NotNull(message = "壁纸描述不能为空")
    @Schema(description = "壁纸描述",requiredMode = Schema.RequiredMode.REQUIRED)
    private String description;


    @Schema(description = "分类ID")
    private Long classId;


    @NotEmpty(message = "壁纸小图URL不能为空")
    @Schema(description = "壁纸小图URL")
    private String smallPicUrl;


    @NotEmpty(message = "壁纸大图URL不能为空")
    @Schema(description = "壁纸大图URL")
    private String picUrl;


    @NotNull(message = "壁纸标签不能为空")
    @Schema(description = "壁纸标签",requiredMode = Schema.RequiredMode.REQUIRED)
    private String tabs;


    @NotNull(message = "壁纸评分不能为空")
    @Schema(description = "壁纸评分",requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer score;


    @Schema(description = "浏览量")
    private Integer viewNum;


    @Schema(description = "收藏数")
    private Integer favourNum;


    @Schema(description = "下载量")
    private Integer downloadNum;


    @Schema(description = "状态：0-待审核, 1-通过, 2-拒绝")
    private Integer reviewStatus;


    @NotNull(message = "审核信息不能为空")
    @Schema(description = "审核信息",requiredMode = Schema.RequiredMode.REQUIRED)
    private String reviewMessage;


    @NotNull(message = "审核人id不能为空")
    @Schema(description = "审核人id",requiredMode = Schema.RequiredMode.REQUIRED)
    private Long reviewerId;


    @NotNull(message = "审核时间不能为空")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "审核时间",requiredMode = Schema.RequiredMode.REQUIRED)
    private java.util.Date reviewTime;






}
